ux: filter findings, non-preview open, quieter copy toasts#22
Conversation
Three small UX wins from the post-v0.2.0 review queue. Stacked on ux-polish-2 (#20). #5 — Filter the Findings tree - Pipeline-Check: Filter Findings command opens an InputBox; matches against rule ID, message body, and file path (case-insensitive substring). Re-invoke pre-fills the current filter so users can edit or clear (empty input clears). - New `$(filter)` button on the Findings view title bar. - FindingsTreeProvider gets getFilter/setFilter/applyFilter. The badge tracks the filtered count; `lastFindingUris` still tracks the unfiltered universe so a publish for a currently-hidden URI still wakes the tree up (otherwise a CLEAR of a filtered-out finding would never refresh). - 8 tests covering: default empty, rule-id match, case-insensitivity, message-body match, fsPath match, clear via empty string, whitespace trim, badge reflects filtered count. #4 — Open Finding (non-preview) - Pipeline-Check: Open Finding context-menu entry on tree leaves. Opens with `preview: false` — pins the file as a permanent tab so triaging multiple findings side-by-side doesn't create tab clutter. The single-click default still uses preview, keeping the common "scan through findings" flow lightweight. - LeafLike type widened to include `uri` and `diagnostic.range`. #7 — Quieter clipboard confirmations - Copy Rule ID and Copy LSP Install Command switch from showInformationMessage (modal toast) to setStatusBarMessage with a 2-second TTL (CONFIRM_TTL_MS). The copy succeeds silently 95% of the time anyway; the status bar confirmation reads without stealing focus. Wiring - package.json: three new command declarations; view/title button for filter (group navigation@1, between scan and changeGrouping); view/item/context entry for openNonPreview (group navigation@0, top of the menu); commandPalette gates the leaf-context commands to `false` so they don't show palette-wide without a node. - src/findingsView.ts: filter state + setFilter + getFilter + applyFilter (in findings()); sets the `pipelineCheck.filterActive` context key so future manifest contributions can paint a "filter active" affordance. - src/test/integration/activation.test.ts: command-registration expected list grows by filter + openNonPreview. Total: 137 tests pass (was 129 on #20; +8 filter behaviour). Lint, compile, smoke, integration-compile all green. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
Warning Rate limit exceeded
You’ve run out of usage credits. Purchase more in the billing tab. ⌛ How to resolve this issue?After the wait time has elapsed, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout. Please see our FAQ for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (6)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Three small UX wins from the post-v0.2.0 review queue. Stacked on ux-polish-2 (#20).
#5 — Filter the Findings tree
$(filter)button on the Findings view title bar.lastFindingUrisstill tracks the unfiltered universe so a publish for a currently-hidden URI still wakes the tree up (otherwise a CLEAR of a filtered-out finding would never refresh).#4 — Open Finding (non-preview)
preview: false— pins the file as a permanent tab so triaging multiple findings side-by-side doesn't create tab clutter. The single-click default still uses preview, keeping the common "scan through findings" flow lightweight.urianddiagnostic.range.#7 — Quieter clipboard confirmations
Wiring
falseso they don't show palette-wide without a node.pipelineCheck.filterActivecontext key so future manifest contributions can paint a "filter active" affordance.Total: 137 tests pass (was 129 on #20; +8 filter behaviour). Lint, compile, smoke, integration-compile all green.